package com.itzdm.file.service;


import com.itzdm.file.domain.dto.ChunkMergeDTO;
import com.itzdm.file.domain.dto.ChunkUploadDTO;
import com.itzdm.file.domain.vo.FileVO;

/**
 * 分片上传服务接口
 */
public interface ChunkUploadService {
    
    /**
     * 上传文件分片
     *
     * @param chunkUploadDTO 分片上传参数
     * @return 上传结果
     */
    boolean uploadChunk(ChunkUploadDTO chunkUploadDTO);
    
    /**
     * 检查文件分片是否已存在
     *
     * @param fileHash 文件哈希
     * @param chunkIndex 分片索引
     * @return 是否存在
     */
    boolean checkChunk(String fileHash, Integer chunkIndex);
    
    /**
     * 合并文件分片
     *
     * @param chunkMergeDTO 分片合并参数
     * @return 合并后的文件信息
     */
    FileVO mergeChunks(ChunkMergeDTO chunkMergeDTO);
} 